Managed storage modules, such as managed NAND storage modules, provide many benefits over using raw memories such as flash NAND memories. Managed storage modules, which typically include a storage controller combined with NAND memory in the case of managed NAND or other types of memory in other cases, provide several benefits to device manufactures. The storage controller hides the details of the memory (e.g., NAND) and provides the intended interface and other features, such as error-correcting code (ECC) support without the device manufactures having to implement those features on the host side (e.g., a smartphone or a tablet). Additionally, managed storage modules allow new advanced features to be implemented in the storage controller without the host necessarily having to be aware that the features exist. The advanced features can either be activated or not used by the storage controller depending on whether the host supports the features. Thus, managed storage modules improve backwards compatibility.
Examples of managed storage modules, and in particular managed NAND storage modules, include embedded multimedia cards (eMMC), universal flash storage (UFS), solid-state drive (SSD) modules. These modules are used in wide variety of applications like mobile phones, Global positioning system (GPS) devices, media players, personal computers (PCs), and servers for storing operating system (OS) code, applications, and user data, such as, photos and videos. Along with the data visible to the host device, operational code/firmware (FW) of the storage module itself is stored in the memory of the storage module. Additionally, other important data, which is needed to operate the memory module, such as register data and address translation data, may be stored in the memory.